/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.gtacomputadores.control.model;

import br.com.gtacomputadores.control.enums.TipoAgenda;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;

/**
 *
 * @author Jeandro
 */
@Entity
public class Agenda implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue
    private Integer codigo;
    //private Integer cliente;
    @ManyToOne
    @JoinColumn(name="idcliente",nullable=false)
    private Cliente clienteagenda;
    
    //private Integer responsavel;
    @ManyToOne
    @JoinColumn(name="idresponsavel",nullable=false)
    private Usuario usuarioagenda;
    private String problema;
    private String solucao;
    private String status;


    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataInicio;
    @Temporal(javax.persistence.TemporalType.TIME)
    private Date horaInicio;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataFim;
    @Temporal(javax.persistence.TemporalType.TIME)
    private Date horaFim;

    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }

    public Cliente getClienteagenda() {
        return clienteagenda;
    }

    public void setClienteagenda(Cliente clienteagenda) {
        this.clienteagenda = clienteagenda;
    }

    public Usuario getUsuarioagenda() {
        return usuarioagenda;
    }

    public void setUsuarioagenda(Usuario usuarioagenda) {
        this.usuarioagenda = usuarioagenda;
    }

    public String getProblema() {
        return problema;
    }

    public void setProblema(String problema) {
        this.problema = problema;
    }

    public String getSolucao() {
        return solucao;
    }

    public void setSolucao(String solucao) {
        this.solucao = solucao;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }


    public Date getDataInicio() {
        return dataInicio;
    }

    public void setDataInicio(Date dataInicio) {
        this.dataInicio = dataInicio;
    }

    public Date getHoraInicio() {
        return horaInicio;
    }

    public void setHoraInicio(Date horaInicio) {
        this.horaInicio = horaInicio;
    }

    public Date getDataFim() {
        return dataFim;
    }

    public void setDataFim(Date dataFim) {
        this.dataFim = dataFim;
    }

    public Date getHoraFim() {
        return horaFim;
    }

    public void setHoraFim(Date horaFim) {
        this.horaFim = horaFim;
    }

    @Override
    public int hashCode() {
        int hash = 5;
        hash = 41 * hash + Objects.hashCode(this.codigo);
        hash = 41 * hash + Objects.hashCode(this.clienteagenda);
        hash = 41 * hash + Objects.hashCode(this.usuarioagenda);
        hash = 41 * hash + Objects.hashCode(this.problema);
        hash = 41 * hash + Objects.hashCode(this.solucao);
        hash = 41 * hash + Objects.hashCode(this.status);
        hash = 41 * hash + Objects.hashCode(this.dataInicio);
        hash = 41 * hash + Objects.hashCode(this.horaInicio);
        hash = 41 * hash + Objects.hashCode(this.dataFim);
        hash = 41 * hash + Objects.hashCode(this.horaFim);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Agenda other = (Agenda) obj;
        if (!Objects.equals(this.codigo, other.codigo)) {
            return false;
        }
        if (!Objects.equals(this.clienteagenda, other.clienteagenda)) {
            return false;
        }
        if (!Objects.equals(this.usuarioagenda, other.usuarioagenda)) {
            return false;
        }
        if (!Objects.equals(this.problema, other.problema)) {
            return false;
        }
        if (!Objects.equals(this.solucao, other.solucao)) {
            return false;
        }
        if (!Objects.equals(this.status, other.status)) {
            return false;
        }
        
        if (!Objects.equals(this.dataInicio, other.dataInicio)) {
            return false;
        }
        if (!Objects.equals(this.horaInicio, other.horaInicio)) {
            return false;
        }
        if (!Objects.equals(this.dataFim, other.dataFim)) {
            return false;
        }
        if (!Objects.equals(this.horaFim, other.horaFim)) {
            return false;
        }
        return true;
    }

   



  

   

    
}
